package cn.com.platform.dao;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import cn.com.platform.entity.AreaEntity;

/**
 * 区域dao
 * 
 * @author linwk 2015年12月23日
 * 
 */
public interface AreaDao extends JpaRepository<AreaEntity, Long>, JpaSpecificationExecutor<AreaEntity> {

	/**
	 * 查找某两个级别，主要查找省和市的集合
	 * 
	 * @param level
	 * @param level1
	 * @return
	 * @author nibili 2016年9月27日
	 */
	public List<AreaEntity> findByLevelOrLevel(int level, int level1);

	/**
	 * 根据父节点查找
	 * 
	 * @param parentId
	 * @return
	 */
	public List<AreaEntity> findByParentId(Long parentId);

	/**
	 * 按层级找数据， 主要用于查找区
	 * 
	 * @param level
	 * @return
	 * @author nibili 2016年9月10日
	 */
	public List<AreaEntity> findByLevel(int level);

	/**
	 * 按名称和层级查找
	 * 
	 * @param name
	 * @param level
	 * @return
	 * @author nibili 2016年9月8日
	 */
	public AreaEntity findByNameAndLevel(String name, int level);

	/**
	 * 
	 * @param name
	 * @param parentId
	 * @param level
	 * @return
	 * @auth nibili 2016年9月12日 上午12:12:52
	 */
	public List<AreaEntity> findByNameLikeAndParentIdAndLevel(String name, long parentId, int level);

}
